In [ ]:
from bokeh.io import output_notebook
output_notebook()


Loading BokehJS ...

In [ ]:
from cameo import models
from marsi.cobra.flux_analysis import sensitivity_analysis

In [ ]:
model = models.bigg.iJO1366

Sensitivity analysis for L-Serine

In this example, the ammount of produced serine is increased in steps. The biomass production will decrease with increased accumulation of Serine. This is a scenario where an metabolite analog would compete with Serine and the cell needs to increase the production of Serine to compete for biomass production and enzyme activity.


In [ ]:
ser__L = model.metabolites.ser__L_c

In [ ]:
result = sensitivity_analysis(model, ser__L, is_essential=True, steps=10,
                              biomass=model.reactions.BIOMASS_Ec_iJO1366_core_53p95M)

In [ ]:
result.data_frame


Out[ ]:
fraction ser__L BIOMASS_Ec_iJO1366_core_53p95M
0 0.00 0.000000 0.982372
1 0.11 2.327074 0.879966
2 0.22 4.654149 0.776675
3 0.33 6.981223 0.673384
4 0.44 9.308298 0.567309
5 0.55 11.635373 0.459727
6 0.66 13.962447 0.352145
7 0.77 16.289522 0.244563
8 0.88 18.616597 0.129905
9 0.99 20.943671 0.010895

In [ ]:
result.plot(width=700, height=500)


We can also see how does this affects other variables.


In [ ]:
result = sensitivity_analysis(model, ser__L, is_essential=True, steps=10, 
                              variables=[model.reactions.SERAT, model.reactions.SUCOAS],
                              biomass=model.reactions.BIOMASS_Ec_iJO1366_core_53p95M)

In [ ]:
result.data_frame


Out[ ]:
fraction ser__L BIOMASS_Ec_iJO1366_core_53p95M SERAT SUCOAS
0 0.00 0.000000 0.982372 0.243502 -3.285931
1 0.11 2.327074 0.879966 0.218119 -2.187337
2 0.22 4.654149 0.776675 0.192516 -1.107405
3 0.33 6.981223 0.673384 0.166913 -0.027474
4 0.44 9.308298 0.567309 0.140620 0.297758
5 0.55 11.635373 0.459727 0.113953 0.241292
6 0.66 13.962447 0.352145 0.087286 0.184826
7 0.77 16.289522 0.244563 0.060619 0.000000
8 0.88 18.616597 0.129905 0.032200 0.068182
9 0.99 20.943671 0.010895 0.002701 0.005718

In [ ]:
result.plot(width=700, height=500)


The same analysis can be done with different simulation methods (e.g. lMOMA).


In [ ]:
from cameo.flux_analysis.simulation import lmoma

In [ ]:
result = sensitivity_analysis(model, ser__L, is_essential=True, steps=10, simulation_method=lmoma,
                              biomass=model.reactions.BIOMASS_Ec_iJO1366_core_53p95M)

In [ ]:
result.plot(width=700, height=500)


Sensitivity analysis for Pyruvate

In this example, the pyruvate of succinate is decreased. This is a scenario where the cells are evolved with a toxic compound and the consumption turnover of that compound decreases.


In [ ]:
pyr = model.metabolites.pyr_c

In [ ]:
result = sensitivity_analysis(model, pyr, is_essential=False, steps=10,
                              biomass=model.reactions.BIOMASS_Ec_iJO1366_core_53p95M)

In [ ]:
result.plot(width=700, height=500)



In [ ]:
result = sensitivity_analysis(model, pyr, is_essential=False, steps=10, simulation_method=lmoma,
                              biomass=model.reactions.BIOMASS_Ec_iJO1366_core_53p95M)

In [ ]:
result.data_frame


Out[ ]:
fraction pyr BIOMASS_Ec_iJO1366_core_53p95M
0 0.00 0.000000 0.982372
1 0.11 0.153405 0.908226
2 0.22 0.365068 0.831883
3 0.33 0.523172 0.754858
4 0.44 0.681276 0.677833
5 0.55 0.839380 0.600808
6 0.66 0.997485 0.523783
7 0.77 1.155566 0.446758
8 0.88 1.008145 0.359887
9 0.99 1.533426 0.036982